package com.ourteam.workspace.dao;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;

/**
 * Template Name : DAO查询对象 Template Version : 1 Template Last Modfiy Date : Sat Aug 19 10:06:32 CST
 * 2017 Auto Generate Date : 2018-11-30 18:42:32 Warning ! This file will be overwrite when
 * regenerate !
 */
public class WorkspaceProductDatabaseRelateDAOQueryBean extends BaseQueryBean {

  public WorkspaceProductDatabaseRelateDAOQueryBean() {
    super();
  }

  public WorkspaceProductDatabaseRelateDAOQueryBean(BaseQueryBean aQueryBean) {
    super(aQueryBean);
  }

  public WorkspaceProductDatabaseRelateDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
    super(aQueryBean, tableReplaceMap);
  }

  public Criteria createCriteria() {

    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    return new Criteria(this);
  }

  public void addIdSelectProperty() {
    addIdSelectProperty("id");
  }

  public void addIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Id, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Id, "id");
    }
  }

  public void addWorkspaceIdSelectProperty() {
    addWorkspaceIdSelectProperty("workspaceId");
  }

  public void addWorkspaceIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.WorkspaceId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.WorkspaceId, "workspaceId");
    }
  }

  public void addProductDatabaseIdSelectProperty() {
    addProductDatabaseIdSelectProperty("productDatabaseId");
  }

  public void addProductDatabaseIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId, "productDatabaseId");
    }
  }

  public void addRelateNameSelectProperty() {
    addRelateNameSelectProperty("relateName");
  }

  public void addRelateNameSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.RelateName, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.RelateName, "relateName");
    }
  }

  public void addStatusSelectProperty() {
    addStatusSelectProperty("status");
  }

  public void addStatusSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Status, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Status, "status");
    }
  }

  public void addRemarksSelectProperty() {
    addRemarksSelectProperty("remarks");
  }

  public void addRemarksSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Remarks, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.Remarks, "remarks");
    }
  }

  public void addDatabaseNameSelectProperty() {
    addDatabaseNameSelectProperty("databaseName");
  }

  public void addDatabaseNameSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseName, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseName, "databaseName");
    }
  }

  public void addDatabaseTypeSelectProperty() {
    addDatabaseTypeSelectProperty("databaseType");
  }

  public void addDatabaseTypeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseType, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseType, "databaseType");
    }
  }

  public void addDatabaseIpSelectProperty() {
    addDatabaseIpSelectProperty("databaseIp");
  }

  public void addDatabaseIpSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseIp, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseIp, "databaseIp");
    }
  }

  public void addDatabasePortSelectProperty() {
    addDatabasePortSelectProperty("databasePort");
  }

  public void addDatabasePortSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabasePort, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabasePort, "databasePort");
    }
  }

  public void addDatabaseServiceIdSelectProperty() {
    addDatabaseServiceIdSelectProperty("databaseServiceId");
  }

  public void addDatabaseServiceIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId, "databaseServiceId");
    }
  }

  public void addAllSelectProperties() {

    addIdSelectProperty();

    addWorkspaceIdSelectProperty();

    addProductDatabaseIdSelectProperty();

    addRelateNameSelectProperty();

    addStatusSelectProperty();

    addRemarksSelectProperty();

    addDatabaseNameSelectProperty();

    addDatabaseTypeSelectProperty();

    addDatabaseIpSelectProperty();

    addDatabasePortSelectProperty();

    addDatabaseServiceIdSelectProperty();
  }

  public static class Criteria
      extends BaseWhereCriterion<WorkspaceProductDatabaseRelateDAOQueryBean> {

    protected Criteria(WorkspaceProductDatabaseRelateDAOQueryBean aParentObject) {
      super(aParentObject);
    }

    public Criteria andIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " is null");
      return this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " is not null");
      return this;
    }

    public Criteria andIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Id
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.Id
              + " <> ''");
      return this;
    }

    public Criteria andIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.Id
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Id
              + " = '')");
      return this;
    }

    public Criteria andIdEqualTo(long value) {
      return andIdEqualTo(Long.valueOf(value));
    }

    public Criteria andIdEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " = ", value, "id");
      return this;
    }

    public Criteria andIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotEqualTo(long value) {
      return andIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andIdNotEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToOrIsNull(long value) {
      return andIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Id
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Id
              + " <>",
          value,
          "id");
      return this;
    }

    public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThan(long value) {
      return andIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andIdGreaterThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " >", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(long value) {
      return andIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " >=", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThan(long value) {
      return andIdLessThan(Long.valueOf(value));
    }

    public Criteria andIdLessThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " <", value, "id");
      return this;
    }

    public Criteria andIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(long value) {
      return andIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " <=", value, "id");
      return this;
    }

    public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Id);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdIn(long[] values) {
      if (values.length == 1) {
        return andIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andIdEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andIdEqualTo(values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.Id + " not in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdBetween(long value1, long value2) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(long value1, long value2) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andWorkspaceIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " is null");
      return this;
    }

    public Criteria andWorkspaceIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " is not null");
      return this;
    }

    public Criteria andWorkspaceIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " <> ''");
      return this;
    }

    public Criteria andWorkspaceIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " = '')");
      return this;
    }

    public Criteria andWorkspaceIdEqualTo(long value) {
      return andWorkspaceIdEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " = ", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdNotEqualTo(long value) {
      return andWorkspaceIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdNotEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " <>", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdNotEqualToOrIsNull(long value) {
      return andWorkspaceIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.WorkspaceId
              + " <>",
          value,
          "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdGreaterThan(long value) {
      return andWorkspaceIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdGreaterThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " >", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdGreaterThanOrEqualTo(long value) {
      return andWorkspaceIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " >=", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdLessThan(long value) {
      return andWorkspaceIdLessThan(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdLessThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " <", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdLessThanOrEqualTo(long value) {
      return andWorkspaceIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " <=", value, "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.WorkspaceId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdIn(long[] values) {
      if (values.length == 1) {
        return andWorkspaceIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " in", values, "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdNotIn(long[] values) {
      if (values.length == 1) {
        return andWorkspaceIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not in", values, "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andWorkspaceIdEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " in", values, "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andWorkspaceIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not in", values, "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andWorkspaceIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " in",
            Arrays.asList(values),
            "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andWorkspaceIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not in",
            Arrays.asList(values),
            "workspaceId");
        return this;
      }
    }

    public Criteria andWorkspaceIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andWorkspaceIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " between",
          value1,
          value2,
          "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " between",
          value1,
          value2,
          "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not between",
          value1,
          value2,
          "workspaceId");
      return this;
    }

    public Criteria andWorkspaceIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.WorkspaceId + " not between",
          value1,
          value2,
          "workspaceId");
      return this;
    }

    public Criteria andProductDatabaseIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " is null");
      return this;
    }

    public Criteria andProductDatabaseIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " is not null");
      return this;
    }

    public Criteria andProductDatabaseIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " <> ''");
      return this;
    }

    public Criteria andProductDatabaseIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " = '')");
      return this;
    }

    public Criteria andProductDatabaseIdEqualTo(long value) {
      return andProductDatabaseIdEqualTo(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " = ", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdNotEqualTo(long value) {
      return andProductDatabaseIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdNotEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " <>", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdNotEqualToOrIsNull(long value) {
      return andProductDatabaseIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId
              + " <>",
          value,
          "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThan(long value) {
      return andProductDatabaseIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdGreaterThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " >", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThanOrEqualTo(long value) {
      return andProductDatabaseIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " >=", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdLessThan(long value) {
      return andProductDatabaseIdLessThan(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdLessThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " <", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdLessThanOrEqualTo(long value) {
      return andProductDatabaseIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andProductDatabaseIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " <=", value, "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andProductDatabaseIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdIn(long[] values) {
      if (values.length == 1) {
        return andProductDatabaseIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " in",
            values,
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdNotIn(long[] values) {
      if (values.length == 1) {
        return andProductDatabaseIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not in",
            values,
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andProductDatabaseIdEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " in",
            values,
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andProductDatabaseIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not in",
            values,
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andProductDatabaseIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " in",
            Arrays.asList(values),
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andProductDatabaseIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not in",
            Arrays.asList(values),
            "productDatabaseId");
        return this;
      }
    }

    public Criteria andProductDatabaseIdIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andProductDatabaseIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " between",
          value1,
          value2,
          "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " between",
          value1,
          value2,
          "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not between",
          value1,
          value2,
          "productDatabaseId");
      return this;
    }

    public Criteria andProductDatabaseIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.ProductDatabaseId + " not between",
          value1,
          value2,
          "productDatabaseId");
      return this;
    }

    public Criteria andRelateNameIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " is null");
      return this;
    }

    public Criteria andRelateNameIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " is not null");
      return this;
    }

    public Criteria andRelateNameIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.RelateName
              + " <> ''");
      return this;
    }

    public Criteria andRelateNameIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.RelateName
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.RelateName
              + " = '')");
      return this;
    }

    public Criteria andRelateNameEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " = ", value, "relateName");
      return this;
    }

    public Criteria andRelateNameEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " <>", value, "relateName");
      return this;
    }

    public Criteria andRelateNameNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.RelateName
              + " <>",
          value,
          "relateName");
      return this;
    }

    public Criteria andRelateNameNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " >", value, "relateName");
      return this;
    }

    public Criteria andRelateNameGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " >=", value, "relateName");
      return this;
    }

    public Criteria andRelateNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " <", value, "relateName");
      return this;
    }

    public Criteria andRelateNameLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " <=", value, "relateName");
      return this;
    }

    public Criteria andRelateNameLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.RelateName);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRelateNameLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName + " like", buffer.toString(), "relateName");
      return this;
    }

    public Criteria andRelateNameNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName + " not like",
          buffer.toString(),
          "relateName");
      return this;
    }

    public Criteria andRelateNameIn(List<String> values) {

      if (values.size() == 1) {
        return andRelateNameEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " in", values, "relateName");
        return this;
      }
    }

    public Criteria andRelateNameNotIn(List<String> values) {
      if (values.size() == 1) {
        return andRelateNameNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.RelateName + " not in", values, "relateName");
        return this;
      }
    }

    public Criteria andRelateNameIn(String[] values) {

      if (values.length == 1) {
        return andRelateNameEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.RelateName + " in",
            Arrays.asList(values),
            "relateName");
        return this;
      }
    }

    public Criteria andRelateNameNotIn(String[] values) {
      if (values.length == 1) {
        return andRelateNameNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.RelateName + " not in",
            Arrays.asList(values),
            "relateName");
        return this;
      }
    }

    public Criteria andRelateNameIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.RelateName + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRelateNameBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName + " between", value1, value2, "relateName");
      return this;
    }

    public Criteria andRelateNameNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.RelateName + " not between",
          value1,
          value2,
          "relateName");
      return this;
    }

    public Criteria andStatusIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " is null");
      return this;
    }

    public Criteria andStatusIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " is not null");
      return this;
    }

    public Criteria andStatusIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.Status
              + " <> ''");
      return this;
    }

    public Criteria andStatusIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.Status
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Status
              + " = '')");
      return this;
    }

    public Criteria andStatusEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " = ", value, "status");
      return this;
    }

    public Criteria andStatusEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " <>", value, "status");
      return this;
    }

    public Criteria andStatusNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Status
              + " <>",
          value,
          "status");
      return this;
    }

    public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " >", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " >=", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " <", value, "status");
      return this;
    }

    public Criteria andStatusLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " <=", value, "status");
      return this;
    }

    public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Status);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status + " like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status + " not like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusIn(List<String> values) {

      if (values.size() == 1) {
        return andStatusEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " in", values, "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(List<String> values) {
      if (values.size() == 1) {
        return andStatusNotEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " not in", values, "status");
        return this;
      }
    }

    public Criteria andStatusIn(String[] values) {

      if (values.length == 1) {
        return andStatusEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.Status + " in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(String[] values) {
      if (values.length == 1) {
        return andStatusNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.Status + " not in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Status + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status + " between", value1, value2, "status");
      return this;
    }

    public Criteria andStatusNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Status + " not between", value1, value2, "status");
      return this;
    }

    public Criteria andRemarksIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " is null");
      return this;
    }

    public Criteria andRemarksIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " is not null");
      return this;
    }

    public Criteria andRemarksIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.Remarks
              + " <> ''");
      return this;
    }

    public Criteria andRemarksIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.Remarks
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Remarks
              + " = '')");
      return this;
    }

    public Criteria andRemarksEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " = ", value, "remarks");
      return this;
    }

    public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " <>", value, "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.Remarks
              + " <>",
          value,
          "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " >", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " >=", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " <", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " <=", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.Remarks);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks + " like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks + " not like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksIn(List<String> values) {

      if (values.size() == 1) {
        return andRemarksEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(List<String> values) {
      if (values.size() == 1) {
        return andRemarksNotEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " not in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(String[] values) {

      if (values.length == 1) {
        return andRemarksEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.Remarks + " in", Arrays.asList(values), "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(String[] values) {
      if (values.length == 1) {
        return andRemarksNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.Remarks + " not in",
            Arrays.asList(values),
            "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.Remarks + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks + " between", value1, value2, "remarks");
      return this;
    }

    public Criteria andRemarksNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.Remarks + " not between", value1, value2, "remarks");
      return this;
    }

    public Criteria andDatabaseNameIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " is null");
      return this;
    }

    public Criteria andDatabaseNameIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " is not null");
      return this;
    }

    public Criteria andDatabaseNameIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " <> ''");
      return this;
    }

    public Criteria andDatabaseNameIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " = '')");
      return this;
    }

    public Criteria andDatabaseNameEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " = ", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " <>", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseName
              + " <>",
          value,
          "databaseName");
      return this;
    }

    public Criteria andDatabaseNameNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " >", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " >=", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " <", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " <=", value, "databaseName");
      return this;
    }

    public Criteria andDatabaseNameLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseName);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseNameLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName + " like",
          buffer.toString(),
          "databaseName");
      return this;
    }

    public Criteria andDatabaseNameNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName + " not like",
          buffer.toString(),
          "databaseName");
      return this;
    }

    public Criteria andDatabaseNameIn(List<String> values) {

      if (values.size() == 1) {
        return andDatabaseNameEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseName + " in", values, "databaseName");
        return this;
      }
    }

    public Criteria andDatabaseNameNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDatabaseNameNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseName + " not in", values, "databaseName");
        return this;
      }
    }

    public Criteria andDatabaseNameIn(String[] values) {

      if (values.length == 1) {
        return andDatabaseNameEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseName + " in",
            Arrays.asList(values),
            "databaseName");
        return this;
      }
    }

    public Criteria andDatabaseNameNotIn(String[] values) {
      if (values.length == 1) {
        return andDatabaseNameNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseName + " not in",
            Arrays.asList(values),
            "databaseName");
        return this;
      }
    }

    public Criteria andDatabaseNameIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseName + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseNameBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName + " between",
          value1,
          value2,
          "databaseName");
      return this;
    }

    public Criteria andDatabaseNameNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseName + " not between",
          value1,
          value2,
          "databaseName");
      return this;
    }

    public Criteria andDatabaseTypeIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " is null");
      return this;
    }

    public Criteria andDatabaseTypeIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " is not null");
      return this;
    }

    public Criteria andDatabaseTypeIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " <> ''");
      return this;
    }

    public Criteria andDatabaseTypeIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " = '')");
      return this;
    }

    public Criteria andDatabaseTypeEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " = ", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " <>", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseType
              + " <>",
          value,
          "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " >", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " >=", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " <", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " <=", value, "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseType);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseTypeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType + " like",
          buffer.toString(),
          "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType + " not like",
          buffer.toString(),
          "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeIn(List<String> values) {

      if (values.size() == 1) {
        return andDatabaseTypeEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseType + " in", values, "databaseType");
        return this;
      }
    }

    public Criteria andDatabaseTypeNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDatabaseTypeNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseType + " not in", values, "databaseType");
        return this;
      }
    }

    public Criteria andDatabaseTypeIn(String[] values) {

      if (values.length == 1) {
        return andDatabaseTypeEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseType + " in",
            Arrays.asList(values),
            "databaseType");
        return this;
      }
    }

    public Criteria andDatabaseTypeNotIn(String[] values) {
      if (values.length == 1) {
        return andDatabaseTypeNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseType + " not in",
            Arrays.asList(values),
            "databaseType");
        return this;
      }
    }

    public Criteria andDatabaseTypeIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseType + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseTypeBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType + " between",
          value1,
          value2,
          "databaseType");
      return this;
    }

    public Criteria andDatabaseTypeNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseType + " not between",
          value1,
          value2,
          "databaseType");
      return this;
    }

    public Criteria andDatabaseIpIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " is null");
      return this;
    }

    public Criteria andDatabaseIpIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " is not null");
      return this;
    }

    public Criteria andDatabaseIpIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " <> ''");
      return this;
    }

    public Criteria andDatabaseIpIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " = '')");
      return this;
    }

    public Criteria andDatabaseIpEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " = ", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " <>", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseIp
              + " <>",
          value,
          "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " >", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " >=", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " <", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " <=", value, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseIp);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseIpLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " like", buffer.toString(), "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " not like",
          buffer.toString(),
          "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpIn(List<String> values) {

      if (values.size() == 1) {
        return andDatabaseIpEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " in", values, "databaseIp");
        return this;
      }
    }

    public Criteria andDatabaseIpNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDatabaseIpNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " not in", values, "databaseIp");
        return this;
      }
    }

    public Criteria andDatabaseIpIn(String[] values) {

      if (values.length == 1) {
        return andDatabaseIpEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " in",
            Arrays.asList(values),
            "databaseIp");
        return this;
      }
    }

    public Criteria andDatabaseIpNotIn(String[] values) {
      if (values.length == 1) {
        return andDatabaseIpNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " not in",
            Arrays.asList(values),
            "databaseIp");
        return this;
      }
    }

    public Criteria andDatabaseIpIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseIpBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " between", value1, value2, "databaseIp");
      return this;
    }

    public Criteria andDatabaseIpNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseIp + " not between",
          value1,
          value2,
          "databaseIp");
      return this;
    }

    public Criteria andDatabasePortIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " is null");
      return this;
    }

    public Criteria andDatabasePortIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " is not null");
      return this;
    }

    public Criteria andDatabasePortIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " <> ''");
      return this;
    }

    public Criteria andDatabasePortIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " = '')");
      return this;
    }

    public Criteria andDatabasePortEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " = ", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " <>", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabasePort
              + " <>",
          value,
          "databasePort");
      return this;
    }

    public Criteria andDatabasePortNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " >", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " >=", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " <", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " <=", value, "databasePort");
      return this;
    }

    public Criteria andDatabasePortLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabasePort);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabasePortLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort + " like",
          buffer.toString(),
          "databasePort");
      return this;
    }

    public Criteria andDatabasePortNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort + " not like",
          buffer.toString(),
          "databasePort");
      return this;
    }

    public Criteria andDatabasePortIn(List<String> values) {

      if (values.size() == 1) {
        return andDatabasePortEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabasePort + " in", values, "databasePort");
        return this;
      }
    }

    public Criteria andDatabasePortNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDatabasePortNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabasePort + " not in", values, "databasePort");
        return this;
      }
    }

    public Criteria andDatabasePortIn(String[] values) {

      if (values.length == 1) {
        return andDatabasePortEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabasePort + " in",
            Arrays.asList(values),
            "databasePort");
        return this;
      }
    }

    public Criteria andDatabasePortNotIn(String[] values) {
      if (values.length == 1) {
        return andDatabasePortNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabasePort + " not in",
            Arrays.asList(values),
            "databasePort");
        return this;
      }
    }

    public Criteria andDatabasePortIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabasePort + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabasePortBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort + " between",
          value1,
          value2,
          "databasePort");
      return this;
    }

    public Criteria andDatabasePortNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabasePort + " not between",
          value1,
          value2,
          "databasePort");
      return this;
    }

    public Criteria andDatabaseServiceIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " is null");
      return this;
    }

    public Criteria andDatabaseServiceIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " is not null");
      return this;
    }

    public Criteria andDatabaseServiceIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " is not null AND "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " <> ''");
      return this;
    }

    public Criteria andDatabaseServiceIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " = '')");
      return this;
    }

    public Criteria andDatabaseServiceIdEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " = ", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdNotEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " <>", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " is null OR "
              + IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId
              + " <>",
          value,
          "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " >", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " >=", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdLessThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " <", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdLessThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " <=", value, "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDatabaseServiceIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " like",
          buffer.toString(),
          "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " not like",
          buffer.toString(),
          "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdIn(List<String> values) {

      if (values.size() == 1) {
        return andDatabaseServiceIdEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " in",
            values,
            "databaseServiceId");
        return this;
      }
    }

    public Criteria andDatabaseServiceIdNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDatabaseServiceIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " not in",
            values,
            "databaseServiceId");
        return this;
      }
    }

    public Criteria andDatabaseServiceIdIn(String[] values) {

      if (values.length == 1) {
        return andDatabaseServiceIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " in",
            Arrays.asList(values),
            "databaseServiceId");
        return this;
      }
    }

    public Criteria andDatabaseServiceIdNotIn(String[] values) {
      if (values.length == 1) {
        return andDatabaseServiceIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " not in",
            Arrays.asList(values),
            "databaseServiceId");
        return this;
      }
    }

    public Criteria andDatabaseServiceIdIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDatabaseServiceIdBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " between",
          value1,
          value2,
          "databaseServiceId");
      return this;
    }

    public Criteria andDatabaseServiceIdNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseRelateDAO.DatabaseServiceId + " not between",
          value1,
          value2,
          "databaseServiceId");
      return this;
    }
  }
}
